package com.fortune.service;
/**
 * 
 * @author ran
 *
 */

import com.fortune.common.paging.PagingData;
import com.fortune.dto.in.mRole.MRoleAddDto;
import com.fortune.dto.in.mRole.MRoleEditDto;
import com.fortune.dto.in.mRole.MRoleListDto;
import com.fortune.entity.MPosition;
import com.fortune.vo.mRole.MRoleB;
import com.fortune.vo.mRole.MRoleDetail;

public interface MRoleService {
	/**
	 * 
	 * @param page
	 * @param pageSize
	 * @param name
	 * @return
	 */
	PagingData<MRoleB> listMRoles(MRoleListDto listDto, String mId);

	/**
	 * 
	 * @param mRoleAddDto
	 * @param mId
	 * @return
	 */
	int insertRoleWithPermissions(MRoleAddDto mRoleAddDto, String mId);

	/**
	 * 
	 * @param name
	 * @param mId
	 * @return
	 */
	MPosition getPositionByMIdAndName(String name, String mId);

	/**
	 * 
	 * @param name
	 * @param mId
	 * @param roleId
	 * @return
	 */
	MPosition getPositionByMIdAndNameAndRoleId(String name, String mId, String roleId);

	/**
	 * 
	 * @param mId
	 * @param roleId
	 * @return
	 */
	MPosition getPositionByMIdAndRoleId(String mId, String roleId);

	/**
	 * 
	 * @param editDto
	 * @param mId
	 * @return
	 */
	int updateRoleWithPermissions(MRoleEditDto editDto, String mId);

	/**
	 * 
	 * @param mId
	 * @param roleId
	 * @return
	 */
	int deleteRole(String mId, String roleId);

	/**
	 * 
	 * @param mId
	 * @param roleId
	 * @return
	 */
	MRoleDetail getRoleDetail(String mId, String roleId);
}
